﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    class GestAutor
    {
        public bool GrabarAutor(CAutor aut, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "Insert into Autores values(";
                sql += "'" + aut.CodAut + "',";
                sql += "'" + aut.NomAut + "',";
                sql += "'" + aut.ApeAut + "',";
                sql += "'" + aut.NacAut + "',";
                sql += "'" + aut.WebAut + "',";
                sql += "'" + aut.BlogAut + "',";
                sql += "'" + aut.Estado + "')"; 
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }           


        public bool ExisteAutor(String Cod_Aut, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            SqlCommand cmd;
            SqlDataReader dr;
            String sql = "Select * From Autores Where Cod_Aut = '" + Cod_Aut + "'";  
            if (cnBiblioteca != null)
            {
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    dr = cmd.ExecuteReader();
                    if (dr.Read())
                        return true;
                    else
                        return false;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }

        public bool EliminarAutor(CAutor aut, string rutaBDBiblioteca)
        {
           AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spEliminarAutor";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Aut", System.Data.SqlDbType.Char).Value = aut.CodAut;
                 try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }

        
        public bool ModificarAutor(CAutor aut, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spActualizarAutores";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Aut", System.Data.SqlDbType.Char).Value = aut.CodAut;
                cmd.Parameters.Add("@Nom_Aut", System.Data.SqlDbType.VarChar).Value = aut.NomAut;
                cmd.Parameters.Add("@Ape_Aut", System.Data.SqlDbType.VarChar).Value = aut.ApeAut;
                cmd.Parameters.Add("@Nac_Aut", System.Data.SqlDbType.VarChar).Value = aut.NacAut;
                cmd.Parameters.Add("@Web_Aut", System.Data.SqlDbType.VarChar).Value = aut.WebAut;
                cmd.Parameters.Add("@Blog_Aut", System.Data.SqlDbType.VarChar).Value = aut.BlogAut;
                cmd.Parameters.Add("@Est_Aut", System.Data.SqlDbType.Bit).Value = aut.Estado;
                
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }
    }
}



//    String sql = "spInsertarAutor";
//    cmd = new SqlCommand(sql, cnBiblioteca);
//cmd.CommandType = System.Data.CommandType.StoredProcedure;
//cmd.Parameters.Add("@Cod_Aut", System.Data.SqlDbType.Char).Value = aut.CodAut;
//cmd.Parameters.Add("@Nom_Aut", System.Data.SqlDbType.VarChar).Value = aut.NomAut;
//cmd.Parameters.Add("@Ape_Aut", System.Data.SqlDbType.VarChar).Value = aut.ApeAut;
//cmd.Parameters.Add("@Nac_Aut", System.Data.SqlDbType.VarChar).Value = aut.NacAut;
//cmd.Parameters.Add("@Web_Aut", System.Data.SqlDbType.VarChar).Value = aut.WebAut;
//cmd.Parameters.Add("@Blog_Aut", System.Data.SqlDbType.VarChar).Value = aut.BlogAut;